
package br.pb.sistcomp.entity;

/**
 * Class that represents an entity in the system
 *
 * @author jefferson Bello, Jefferson.bello@dce.ufpb.br
 * @version 1.0
 *
 * Copyright (C) 2011 SistComp.
 */
public class AVista implements I_FormaDePagamento {

    private String agenciaParaPagamento;
    private String contaParaPagamento;

    /**
     * Construtor Default da classe AVista.
     */
    public AVista() {
    }

    /**
     * Construtor da classe AVista.
     * @param agenciaParaPagamento String, representa o numero da agencia onde será creditado o valor da compra.
     * @param contaParaPagamento String, representa o numero da conta de quem receberá o valor pelo pagamento da compra.
     */
    public AVista(String agenciaParaPagamento, String contaParaPagamento) {
        this.agenciaParaPagamento = agenciaParaPagamento;
        this.contaParaPagamento = contaParaPagamento;
    }

    /**
     * Metodo responsavel em calcular o valor pago pelo cliente usando cartão de credito
     * @param valorDaCompra float, representa o valor unico cobrado pelo produto.
     * @return float, que representa o valor a ser pago pela compra, considerando desconto ou acrescimos.
     */
    @Override
    public float getValorDoPagamento(float valorDaCompra) {
        float desconto = (valorDaCompra * 100) / 5;
        return valorDaCompra - desconto;
    }

    /**
     * Método responsavel em informar qual foi o tipo de pagamento escolhido.
     * @return String, contendo o tipo escolhido de pagamento.
     */
    @Override
    public String getTipoDePagamento() {
        return "Avista";
    }


    public String getAgenciaParaPagamento() {
        return agenciaParaPagamento;
    }

    public String getContaParaPagamento() {
        return contaParaPagamento;
    }
}
